package fr.greta.centre.action;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import fr.greta.centre.dao.CandidatureDAO;
import fr.greta.centre.dao.CandidatureDAOImpl;
import fr.greta.centre.dao.PromotionDAOImpl;
import fr.greta.centre.metier.Candidat;
import fr.greta.centre.metier.Candidature;
import fr.greta.centre.metier.Etat;
import fr.greta.centre.metier.Promotion;
import fr.greta.centre.metier.ServeurSMTP;
import fr.greta.centre.metier.StagiaireEtPromo;

/** Candidater, que le candidat soit deja connu ou pas */
public class AfficherStagiairesPromotion extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/** Page JSP vers laquelle la servlet renvoie */
	private String vue;

	/**
	 * Affiche la page contenant le formulaire de candidature (candidat
	 * inconnu), qui renvoie en POST vers Candidater, + le formulaire
	 * d'identification (candidat connu), qui renvoie en POST vers Reconnaitre.
	 * Verifie simplement que la promotion demandee existe et est ouverte a
	 * candidature.
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * Insere la candidature dans la base, et le candidat s'il n'est pas deja
	 * connu. Il est connu quand le idCandidat est recu parmi les parametres.
	 * */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		try {
			int idPromotion = Integer.parseInt(request
					.getParameter("idPromotion"));
			CandidatureDAOImpl candidatureDAOImpl = new CandidatureDAOImpl();			
			List<StagiaireEtPromo> stagiaires = candidatureDAOImpl.getStagiairesByIdPromotion(idPromotion);
            System.out.println("Nb de stagiaires = " + stagiaires.size());
			request.setAttribute("stagiaires", stagiaires);
			vue = "stagiaires.jsp";
		}
		catch(Exception e){
			e.printStackTrace();
		}
		System.out.println("vue : " + vue);
		request.getRequestDispatcher(vue).forward(request, response);
	}

}